Method, apparatus and computer program for capturing motion of a cartoon and retargetting the motion to another object

ABSTRACT

A method, apparatus and computer program for capturing the motion of a first moving object in a cartoon and retargeting this motion onto the motion of a second moving object. In the invention a digitized video of a cartoon having the first moving object is input and a user is permitted to select from the digitized video a plurality of key shapes of the first moving object as the first moving moves in the digitized video. The motion of the first moving object is captured as motion parameter data by performing a transform of the motion of the first moving object according to each of the key shapes. Thereafter, the motion of the first moving object is retargeted to the second moving object by mapping the motion parameter data onto the second moving object.

CROSS REFERENCE TO RELATED APPLICATIONS

[0001] The present application hereby claims the benefit of priority of Provisional Application Serial No. 60/277,889 filed Mar. 21, 2001, entitled “CARTOON CAPTURE AND RETARGETING”, by C. Bregler, et al.

BACKGROUND OF THE INVENTION

[0002] The present invention relates to computer animation. More particularly, the present invention relates to a method, apparatus and computer program for transferring motion behavior from traditionally animated cartoons to other digital characters and media.

[0003] Animation can be thought of as having two dimensions: the visual style (how the image looks, how it is rendered, the style of the drawing or model) and the motion style (how the characters move, the amount of exaggeration, use of cartoon physics and way in which the animation principles are used). The visual style of an animation can be anything from photo-realistic to abstract. The motion style also varies from one animation to another. It can range from robotic, to realistic to highly expressive.

[0004] Physical simulation and motion capture have been fairly effective for creating realistic motion. Physical simulation techniques are mainly used to create low-level physical phenomena and motion capture is used to create realistic human motions.

[0005] Physical simulation is a technique for replicating physical phenomena on a laboratory scale in such a way that the resultant data can be used for creating animated motion. Motion capture is a technique for creating animated motion by recording the motion of a live human or animal. The resultant data from physical simulation and the recorded data from motion capture are fit with a three-dimensional kinematics model, and the model is used to drive the behavior of a cartoon character. A key problem with both physical simulation and motion capture is that the derived behavior is typically not nearly as expressive as motion created by highly skilled traditional animators. Thus, the resulting characters appear lifeless and robotic.

[0006] Traditional animation is created by highly trained animators who use animation principles to create motion that is expressive and stylized. Often this motion includes exaggeration, cartoon physics and extra degrees of freedom in joint motion. However, stylized and expressive animation, as done by traditional animators, can be time consuming or even impossible. Skilled artists are rare and the costs for employing such individuals are often prohibitive. Further, at present traditionally drawn animations cannot be easily re-used or transferred to different domains and characters.

[0007] Therefore, a need exists for generating highly stylized and expressive animation of the level produced by traditional animators. Further, a need exists for easily re-using or transferring motion previously developed for a cartoon to different domains and other characters.

SUMMARY OF THE INVENTION

[0008] The present invention provides a method, apparatus and computer program for capturing the motion of a moving object in a cartoon and transferring this motion onto another moving object.

[0009] According to the present invention motion of a first moving object in a cartoon is captured and retargeted to the motion of a second moving object such that a characteristic of the motion of the first moving object is imparted to the motion of the second moving object. The present invention accomplishes this by inputting a digitized video of a cartoon having the first moving object and permitting a user to select from the digitized video a plurality of key shapes of the first moving object as The first moving moves in the digitized video. The motion of the first moving object is captured as motion parameter data by performing a transform of the motion of the first moving object according to each of the key shapes. Thereafter, the motion of the first moving object can be retargeted to the second moving object by mapping the motion parameter data onto the second moving object. The second moving object having this retargeted motion will move according to the characteristics of the motion of the first moving object.

[0010] The motion parameter data also includes timing parameter data. By maintaining both timing and motion parameters from the original animation, most of the “essence” of the expressive movement can be maintained. Thus, the second moving object retains the timing and personality of the first moving object but with a completely different look.

BRIEF DESCRIPTION OF THE DRAWINGS

[0011] The scope of the present invention will be apparent from the following detailed description, when taken in conjunction with the accompanying drawings, and such detailed description and specific examples, while indicating example embodiments of the invention, are given by way of illustration only, since various changes and modifications within the spirit and scope of the invention will become apparent to those skilled in the art from this detailed description in which:

[0012]FIG. 1 is schematic diagram illustrating the steps of cartoon motion capturing and cartoon motion retargeting according to the present invention;

[0013]FIG. 2 is a schematic diagram illustrating an information processing apparatus which executes the cartoon motion capturing and cartoon motion retargeting according to the present invention;

[0014]FIG. 3. is a schematic diagram graphically illustrating the steps of cartoon motion capturing and cartoon motion retargeting method according to the present invention;

[0015]FIG. 4. is a schematic diagram graphically illustrating the motion of a bouncing ball encoded in terms of six affine parameters according to the present invention;

[0016]FIG. 5. is a schematic diagram graphically illustrating the multi-dimensional warping space according to the present invention;

[0017]FIG. 6. is a schematic diagram graphically illustrating how the shape vector is used to index all pixel location of a cartoon and four key shape examples according to the present invention;

[0018]FIG. 7. are pictures illustrating hat color segmentation, affine capture and key-shape based tracking of the hat according to the present invention;

[0019]FIG. 8. are pictures illustrating color-clustered layer and the key-shape based tracking of Balou according to the present invention;

[0020]FIG. 9. is a schematic diagram graphically illustrating a 2D example of key shapes for the input cartoon and corresponding output key shapes according to the present invention;

[0021]FIG. 10. is a schematic diagram graphically illustrating a 3D example of key shapes for the input cartoon and corresponding output key shapes according to the present invention;

[0022]FIG. 11 is a schematic diagram graphically illustrating the hat retargeting sequence according to the present invention;

[0023]FIG. 12 is a schematic diagram graphically illustrating the tracking of Balou's dance and retargeting to a flower according to the present invention;

[0024]FIG. 13 is a schematic diagram graphically illustrating the broom retargeting sequence according to the present invention;

[0025]FIG. 14 is a schematic diagram graphically illustrating capturing line-of-action and retargeting to a 2D character according to the present invention;

[0026]FIG. 15 is a schematic diagram graphically illustrating motion of walking cartoon character retargeted to 3D model according to the present invention; and

[0027]FIG. 16 is a schematic diagram graphically illustrating motion of iumping cartoon character retargeted to 3D model according to the present invention.

DETAILED DESCRIPTION OF THE INVENTION

[0028] The method, apparatus and computer program of the present invention for capturing the motion of a moving object in a cartoon and transferring or retargeting this motion onto another moving object are illustrated in FIGS. 1-16. It should be noted that the embodiments forming the present invention as illustrated in FIGS. 1-16 are each merely representative of numerous embodiments which fall within the scope of the claimed invention. Thus, the present invention is not limited in any way to the embodiments illustrated in FIGS. 1-16.

[0029] 1 Cartoon Motion Capture and Retargeting =p The method of the present invention for capturing the motion of a moving object in a cartoon and transferring or retargeting this motion onto another moving object can be implement on any information processing apparatus (e.g. computer, workstation) having basic elements such as that illustrated in FIG. 2. The capturing of the motion of a moving object in a cartoon and the transferring or retargeting of this motion onto another moving object can be performed by the information processing apparatus executing a computer program having code or code sections corresponding the steps of the present invention as described herein and as illustrated in FIGS. 1 and 3.

[0030] As illustrated in FIG. 2 the information processing apparatus includes a central processing unit (CPU) 201 for variously controlling each element of the apparatus and executing the process of capturing the motion of a moving object in a cartoon and transferring or retargeting this motion onto another moving object according to a computer stored for example in storage unit 206 and/or memory 202. A display 208 is provided for displaying control information from CPU 201 and information concerning the process of capturing the motion of a moving object in a cartoon and transferring or retargeting this motion onto another moving object. An input unit 209 such as mouse and keyboard is provided for selecting information indicated on the display 208 and supplying commands to CPU 201. A frame buffer memory 207 is provided for storing image information displayed on the display 208 and an image recorder/reproducer (e.g. a video cassette recorder/player, CD player, DVD player) 205 is provided for reproducing from a recording medium (e.g. Tape, CD, DVD) a digitized video signal of a cartoon having a moving object. A video interface 204 is provided for converting the digitized video signal from the image recorder/reproducer 205 into image information of the format to be treated in the information processing apparatus.

[0031] Data produced as a result of the process of capturing the motion of a moving object in a cartoon can for example be stored in storage unit 206 and/or memory 202. Information of the other moving object to which the captured motion is to be transferred or retargeted can also be stored in storage unit 206 and/or memory 202. Data resulting from the transferring or retargeting of the captured motion onto the other moving object can be stored in the storage unit 206 and/or memory 202, or recorded on the recording medium by the image recorder/reproducer 205. The user can confirm that the other moving object behaves according to the characteristics of motion of the moving object by displaying the motion of the other moving object on the display 208 after the captured motion has been transferred or retargeted onto the other moving object.

[0032] The method of the present invention of capturing the motion of a moving object in a cartoon and transferring or retargeting this motion onto another moving object is illustrated in FIGS. 1 and 3. It should be noted that the method illustrated in FIGS. 1 and 3 can be implemented by the information processing apparatus illustrated in FIG. 2 executing a computer program, wherein each of the steps of the method illustrated in FIGS. 1 and 3 correspond to one or more instructions (code or code sections) of the computer program.

[0033] Generally according to the method of the present invention illustrated in FIGS. 1 and 3 motion of a first moving object in a cartoon is captured and retargeted to the motion of a second moving object such that a characteristic of the motion of the first moving object is imparted to the motion of the second moving object. A detailed discussion of each of the steps of the method of the present invention is provided below in sections 1.1 through 1.4. Immediately below however is a general discussion of the method of the present invention so as to aid understanding of the overall operation and features of the present invention.

[0034] As illustrated in FIG. 1, the present invention accomplishes the method of the present invention this by inputting a digitized video of a cartoon having the first moving object (Step 101) and permitting a user to select from the digitized video a plurality of key shapes of the first moving object as the, first moving moves in the digitized video (Step 102). The motion of the first moving object is captured as motion parameter data by performing a transform of the motion of the first moving object according to each of the key shapes (Cartoon Capture) (Step 103). Thereafter, the motion of the first moving object can be retargeted to the second moving object by mapping the motion parameter data onto the second moving object (Cartoon Retargeting) (Step 104). The second moving object having this retargeted motion will move according to the characteristics of the motion of the first moving object.

[0035] The motion parameter data as will be described below also includes timing parameter data representative of the timing of the movements of the first moving object. By maintaining both timing and motion parameters from the original animation, most of the “essence” of the expressive movement can be maintained. Thus, the second moving object retains the timing and personality of the first moving object but with a completely different look.

[0036] An overview of some of the details of the Cartoon Capture (Step 103) and the Cartoon Retargeting (Step 104) steps of the present invention is illustrated in FIG. 3. As illustrated in FIG. 3, the input to cartoon capture is digitized video and a user-defined set of key shapes. The user-defined set of key-shapes are chosen from the source sequence. The Cartoon Capture step transforms a digitized cartoon into a cartoon motion representation. The cartoon motion is parameterized with a combination of affine transformation and key-weight vectors. In this way, a wide range of motion and non-rigid shape deformations can be described. For the Cartoon Retarget step, the user has to define for each input key-shape a corresponding output key-shape, or key-image, or 3D key-model. The motion parameters are mapped from the source to the target. As per the above by maintaining the timing and motion parameters from the original animation, most of the “essence” of the expressive movement of the source cartoon can be maintained.

[0037] Below is a detailed discussion of the method of capturing the motion of a moving object in a cartoon and transferring or retargeting this motion onto another moving object. This detailed discussion is organized as follows: a discussion of cartoon motion representation is set forth in section 1.1 Modeling Cartoon Motion; a discussion of two cartoon motion capture processes is set forth in sections 1.2 Contour Capture and 1.3 Video Capture; a discussion of cartoon retargeting is set forth in section 1.4 Retargeting Cartoon Motion; and a discussion of examples of cartoon retargeting is set forth in section 2 Examples.

[0038] 1.1 Modeling Cartoon Motion

[0039] Cartoon motion is described as a composition of two types of deformations: (1) Affine deformnations, that encode the global translation, rotation, scaling, and sheer factors, and (2) Key-shape deformations, that are defined relative to a set of key-shapes.

[0040] 1.1.1 Affine Deformations

[0041] An important part of cartoon motion comes from the velocity of the entire body, and how it stretches and squashes in different directions. This is demonstrated on the bouncing-ball motion in FIG. 4. The motion style is determined by how fast the ball travels, the arcing (shape of the ball trajectory), how much the ball rotates from frame-to-frame, how much it squashes and stretches, and the timing of the squash and stretch actions of the ball. The motion style is approximated with a sequence of affine motions as illustrated with the overlaid grid in FIG. 4.

[0042] The ball shape S is deformed to a shape V(t) at time frame t with affine parameters ?(t)=[a₁, a₂, a₃, a_(4,) d_(x), dy_(y)]: $\begin{matrix} {V = {{{warp}\left( {\theta,S} \right)} = {\begin{bmatrix} a_{1} & a_{2} & d_{x} \\ a_{3} & a_{4} & d_{y} \end{bmatrix} \cdot S}}} & (1) \end{matrix}$

[0043] The variables a₁, a₂, a₃, and a₄ describe rotation, x/y scale, and shear, and dx, dy code the x/y translation. S is a 3×N shape matrix. [s₁, . . . , S_(N)] coding N points in homogenous form s₁=[x_(i), y_(i) 1]^(T). For instance, S could be a set of points along the contours of the ball. If S is replaced with a new contour, for example a donut-shape, or a photograph, but the same affine motions ?(1), . . . , ?(t) is applied, the moving shapes V(1), . . . , V(t) completely change, but the motion style remains the same. 1.1.2 Key-Shape Deformations

[0044] Consider a more complicated motion such as the frog jumping on the left part of FIG. 3. With affine parameters, the coarse motion can be approximated, but several important deformations are missed, such as the extension and contraction of the legs. To cover those deformations, a set of characteristic key-shapes S₁ (or blend-shapes) are used. These shapes are picked by the user, and should include all possible extreme deformations. FIG. 3 shows three example key-shapes. The examples show bow the frog transforms from a stretched-out shape S₁ in the air to a squashed shape S₂ in the landing. All in-between shapes can be approximated as multi-way linear interpolations. Thus the motion model extends to: $\begin{matrix} {{{\text{~~~~~~}V} = {{{warp}\left( {\theta,{S_{1}\quad \ldots \quad S_{k}}} \right)} = {\begin{bmatrix} a_{1} & a_{2} & d_{x} \\ a_{3} & a_{4} & d_{y} \end{bmatrix} \cdot \left( {\sum\limits_{k}{\cdot S_{k}}} \right)}}}{{data}\quad {missing}\quad {or}\quad {illegible}\quad {when}\quad {filed}}} & (2) \end{matrix}$

[0045] The extended motion vector includes affine and interpolation weights: ?=[a₁, a₂, a₃, a_(4,) dx, dy, w₁, . . . , w_(k)]. Similar to the ball example and its affine parameterization, many important animation principles on more complex shapes can be described with different timing of the interpolation weights.

[0046] In some domains linear interpolation is a good approximation, but in many domains, it produces in-between shapes with undesirable visual artifacts. Restrictions of linear interpolations are demonstrated in FIG. 5. Shape S3 is the linear interpolation (average) of shapes S1 and S2. It is possible to cover those in-between shapes with additional key-shapes. For example adding shape S4 as a new key-shape allows for the approximation of visually meaningful in-between shapes of S1 and S2. Since each additional key-shape puts additional burden on the user for defining the source and the retarget key-shapes, for more complex domains a larger space is automatically generated.

[0047] Extended Linear Warping Space

[0048] One possibility is, to replace the linear warping function with a nonlinear function. For instance, a nonlinear warping function has been proposed that avoids many such artifacts. This nonlinear warping function (and many other nonlinear warping techniques) are well defined for interpolation between two key-shapes. Extensions to multi-way warping functions between more than 2 key shapes are non-trivial. For cartoon capture the inverse function need to be computed. For a linear warping case, this is well conditioned, but for functions that are highly nonlinear numerical techniques required that are prone to many local minima and singularities.

[0049] If the proposed nonlinear warping function is used as a preprocessing step to enlarge the key-shape set: (1) M in-between shapes can be automatically generated for each pair of hand-picked key-shapes S_(i), S_(j). This produces a large set of (K−1) ×(K−2)×M shape examples, where K is the number of the original key shapes for densely covering the entire cartoon shape space. (2) a principal components analysis (PCA) can be applied on this large shape database. PCA will generate a mean shape M, and eigen-vectors E₁, . . . , E_(L) that span principal shape variations in orthogonal directions of the shape space. Every original example can be approximated with V=M+?₁ a₁. E₁. The number of eigen-vectors is determined by the maximum allowed approximation error. If S₁ a₁, is constrained then the following can be written: $\begin{matrix} {V = {{{\sigma_{L - 1}M} - {\sum\limits_{l = 1}^{L}{\sigma_{p}M}} + E_{l}} = {\sum\limits_{l = 1}^{L - 1}{\sigma_{l} \cdot S_{l}}}}} & (3) \end{matrix}$

[0050] Therefore the extended shape space is computed in setting S₁:=M+E₁ and S_(L)+1:=M. Usually the number of automatically derived key-shapes is higher than the original hand-picked shapes (to cover the nonlinear in-between shapes), but sometimes it can be lower, when the user has chosen redundant key-shapes.

[0051] The extended linear warping space provides the modeling power of more complex nonlinear warping functions, but allows all numerical advantages to be kept, due to the linear basis representation. Furthermore, this technique allows the transform of a function that is only defined for shape pairs into a multi-way warping function of more than two key-shapes. This technique shows its full potential especially for our video-capture process, as will be described below.

[0052] 1.1.3 Sub-Part Decomposition

[0053] Simple characters like the bouncing ball example or the frog deformations can be modeled with global set of affine and key-shape parameterization, but more complicated characters should be split into sub-parts. For example, in articulated figures, the leg deformations can be modeled separately from the arm deformations, and the head deformations. This reduces the number of degrees of freedom.

[0054] In the following section three tasks are described that use the Equation (2): (1) Contour capture, that assumes a known contour V and solves for ?, (2) Video capture, that applies Equation (2) directly to the unlabeled video to solve for ?, and (3) Cartoon-retargeting which takes a ? and different S, to generate a new shape motion V.

[0055] 1.1 Contour Capture

[0056] The input is a sequence of cartoon contours: V(1), . . . , V(t) and the hand-labeled key-shapes S₁, . . . , S_(K) If the animator used a computer tool, those V vectors can come directly from the tool. Also the vectors can be hand-rotoscoped from stock-footage animation. Given V, the Equation (2) is used to solve for ?.

[0057] Since the cartoon motion model will not exactly match the contour input, a motion vector ? that will approximate the contour input is estimated. This can be done while minimizing following error term:

Z,999

[0058] We minimize this term with a two step procedure. (1) First the affine motion parameters is computed, (2) Then the key-weights on affine aligned shapes is estimated.

[0059] Affine Capture

[0060] Estimating affine motion of contours can be done with a closed-form solution. The affine motion is measured while minimizing the following error term: $\begin{matrix} {{Err}_{aff} = {{V - {\begin{bmatrix} a_{1} & a_{2} & d_{x} \\ a_{3} & a_{4} & d_{y} \end{bmatrix} \cdot S_{1}}}}^{2}} & (5) \end{matrix}$

[0061] The standard least-squares solution is: $\begin{matrix} {\begin{bmatrix} a_{1} & a_{2} & d_{x} \\ a_{3} & a_{4} & d_{y} \end{bmatrix}:={V \cdot {S^{T}\left( {S \cdot S^{T}} \right)}^{- 1}}} & (6) \end{matrix}$

[0062] Key Weight Capture

[0063] Now the set of key-weights w_(k) need to be found while minimizing the following full approximation error: $\begin{matrix} {{{\text{~~~~~~~~~~~~~}} - {\begin{bmatrix} a_{1} & a_{2} & a_{i} \\ a_{3} & a_{1} & a_{y} \end{bmatrix} \cdot {\sum\limits_{k}{\sigma_{k} \cdot S_{k}^{2}}}}}{{data}\quad {missing}\quad {or}\quad {illegible}{\quad \quad}{when}\quad {filed}}} & (7) \end{matrix}$

[0064] Improved results are experienced if additional constraints are placed on the key-weights w_(k). So far the fact, that the shape space of S₁, . . . , S_(k) is much larger than just the visually correct in-between shapes has been ignored. The desire is to avoid the case that noise and other small (un-modeled) variations of V will cause very large positive and negative key-weights w₁. This causes severe problems for the retargeting task. Many “Illegal” shapes can be generated with large weights. Usually most in-between shapes are generated by using only a few key-shapes (only a few w₁ are non-zero, and they sum to 1). Furthermore, the key-shapes work best for interpolation, but only have limited power for extrapolation.

[0065] The following constraints are enforced:

[0066] Constraint 1: Only J interpolation weights are non-zero. This enforces that each possible shape lies in a smaller (local-linear) J dimensional subspace. Such shapes are closer to the curve in FIG. 5.

[0067] Constraint 2: All key-weights add to 1. This approximates an important animation principle, called “preservation of volume”. In this case, also the affine matrix A need to constrained to be a rotation matrix, to disallow scale change.

[0068] Constraint 3: All weights must lie in a margin [T1-T2]. Usually T1=−0.5 and T2=1.5. This enforces limited extrapolation.

[0069] Minimizing the quadratic term of Equation (7) due to the linear equality and inequality constraints can be done with quadratic programming.

[0070] Since the affine estimation was done relative to S₁ and not to the weighted combination of all key-shapes, iteration need to be performed. Given the key-weights, the weighted interpolation S is computed. The new affine parameters are estimated based on S. Then the key-weights are recomputed based on the new affine adjusted V and iteration is performed until convergence.

[0071] 1.3 Video-Capture

[0072] As in contour-capture, the output of video-capture is a sequence of motion vectors ? that fit the input data. Now the input data is a sequence of images I instead of contours. The cartoon motion model is extended such that it models directly image pixel variations. With this extension the cartoon-motion model can be incorporated into a vision-based region tracking technique. This allows us to track cartoons without contour labels.

[0073] We use the following notation: S^(2×N)=[s₁, . . . , s_(N)] contains the x/y coordinates of all N pixels of the cartoon image region as shown in FIG. 6. I(s₁) is the gray level value of an image I at pixel location s₁. I(S) denotes the vector of all pixel gray levels in the cartoon region. I(warp(S, ?)) is the warped image using the warp(S, ?) function. As in contour-capture, the image warp is not exactly matched with the motion model due to noise and inaccuracies of the model. Therefore the following error function is minimized:

z,999

[0074] This equation states, that if I_(t) is warped, it should look similar to I₀. The error term of Equation (8) is in a sense the previous error term of Equation (7) mapped through the image function I.

[0075] Affine Capture

[0076] For affine motion only, equation (8) can be rewriten to:                aff = ∑ s 1 ∈ S   ( λ · s i + D i - I o  ( s i ) ) 2    data     missing     or     illegible        when     filed ( 9 )

[0077] In Equation (9) A is the rotation, scale and shear part of the affine parameters, and D is the translation. This error function can be minimized using the well known affine version of the Lucas-Kanade technique (a standard least-squares based technique in the computer vision literature). It is beyond the scope of this invention to explain this technique in full detail, however a brief summary of the estimation is provided by the following:

[0078] Linear least-squares estimation can not be directly applied, since I_(t)(A?s_(i)+D) is nonlinear. Thus, the following linear approximation of I_(t) is used:

z,999

[0079] In Equation (10) ? I=[I_(x), I_(y)] is the image gradient of I_(t) in x and y direction. a 2D Gaussian convolution filter is used as to estimate the image gradient in a noise-robust way. Thus, Equation (9) can be rewritten to:

[0080] $\begin{matrix} \begin{matrix} {{err}_{aff} \approx {\sum\limits_{s_{i} \in S}\left( {{I_{t}\left( s_{i} \right)} + {\Delta \quad {{I\left( s_{i} \right)} \cdot \left( {{A \cdot s_{i}} + D} \right)}} - {I_{0}\left( s_{i} \right)}} \right)}} \\ {= {\sum\limits_{s_{i} \in S}\left( {{H_{i} \cdot \theta_{aff}} - z_{i}} \right)^{2}}} \\ {\theta_{aff} = \left( {a_{1},a_{2},a_{3},a_{4},d_{x},d_{y}} \right)^{T}} \\ {H_{i} = \left( {{I_{x}(i)} \cdot x_{i} \cdot {I_{x}(i)} \cdot y_{i} \cdot {I_{y}(i)} \cdot x_{i} \cdot {I_{y}(i)} \cdot y_{i} \cdot {I_{x}(i)} \cdot {I_{y}(i)}} \right)} \\ {z_{i} = {{I_{t}(j)} - {I_{0}(j)}}} \end{matrix} & (11) \end{matrix}$

[0081] The standard least-squares solution of this linearized term is:

$\begin{matrix} {H = {{\begin{bmatrix} H_{1} \\ \cdots \\ H_{N} \end{bmatrix}\quad a\quad n\quad d\quad Z} = \begin{bmatrix} z_{1} \\ \cdots \\ z_{N} \end{bmatrix}}} & (13) \end{matrix}$

[0082] Since the linear approximation of Equation (10) is used, the optimal motion parameter ? is found in using Equation (11) iteratively in a Newton-Raphson style minimization.

[0083] Affine and Key Capture

[0084] If the motion model includes the affine and key-shape deformation model, the estimation framework need to be further extended. The image template I₀ is replaced with a combination of L key-images: S₁ w₁E₁: $\begin{matrix} {{\text{~~~~~~~}{err}_{keys}} = {\sum\limits_{s_{i} \in S}{\left( {{H_{i} \cdot \theta_{aff}} + {I_{t}\left( s_{i} \right)} - {\sum\limits_{l}{\omega_{l} \cdot {E_{k}\left( s_{i} \right)}}}} \right)f}}} & (14) \\ {\text{~~~~~~~~~~} = {\sum\limits_{s_{i} \in S}\left( {{\left\lbrack {H_{i},{{E_{1}(i)}\quad \ldots \quad {E_{L}(i)}}} \right\rbrack \cdot \theta} + {I_{t}(i)}} \right)^{2}}} & (15) \end{matrix}$

[0085] The extended vector ?=[a₁, a₂, a₃, a_(4,) dx, dy, w₁, . . . , w_(L)]^(T) can be estimated with standard least squares estimation as above.

[0086] The right side of FIG. 6 shows example key-images for the Balou sequence. Those are the original hand-picked key-shapes. Since the linear interpolation of those hand-picked key-images produce “illegal” shapes (linear interpolating a arm motion merely generates a double image of both arm configuration), it was essential, that an extended basis-set be used as described in section 1.2. Many in-between images are generated from the key-images using the non-linear warping function. Applying PCA to the enlarged dataset, resulted in L “eigen-images” E₁.

[0087] Sub-Part Layers

[0088] The video-capture process is very sensitive to outliers. Outliers are pixels that are not part of the cartoon region They could be part of the background, or occluding foreground (including self-occlusion from other cartoon parts). Those pixels are automatically discounted in computing an adaptive alpha matte. Usually, the cartoon region has a specific color range. An alpha-matte can be generated using a probabilistic color segmentation technique. For instance, the hat in FIG. 7 can be segmented automatically. The second row of images in each of FIGS. 7 and 8 illustrate some examples of the generation of an alpha-matte. The video-capture process is then only performed on pixels that are included in this matte. This can be done, in reducing the summation to only those pixels as per the following: $\begin{matrix} {\left. \left. {\left. {\text{?}\text{?}\text{?}{keys}\text{?}\text{?}{\sum\limits_{\text{?}\text{?}\text{?}{Layer}}{\text{?}\text{?}\text{?}{\text{?} \cdot s_{t}}\text{?}D}}} \right) \cdot {\sum\limits_{\text{?}}{\text{?}\text{?}{\text{?} \cdot E_{k}}\text{?}\text{?}\text{?}}}} \right) \right)^{2}{\text{?}\text{indicates text missing or illegible when filed}}} & (16) \end{matrix}$

[0089] 1.4 Retargeting Cartoon Motion

[0090] Different output media, including 2D cartoon animation, 3D CG models, and photo-realistic output can be produced according to the present invention. For each domain, a model of how a specific input key-shape looks in the output domain is needed. For simple affine deformations, the input template is simply replaced with a template in the output domain. For key-shape models, a design of the corresponding key-shape and the interpolation function in the output domain is needed. The corresponding output shape can look similar or drastically different from the input as long as the key poses are consistent in their meanings. For example, if key pose 1 in the input cartoon is more extreme than key pose 2, then key pose 1 in the output drawing should also be more extreme than key pose 2 in the output drawing.

[0091] 1.4.1 Designing the output Model and Retargeting

[0092] 2D Drawing and Photographs

[0093] For each key shape used in the key-shape deformation, a corresponding 2D shape is drawn in the output domain. In addition, the corresponding control points (or contours) between the different output key poses are labeled. FIG. 9 shows the key poses of a frog and the corresponding key poses of a bunny. The retargeting process is as follows: First, the affine motion of each output key pose is extracted with respect to some reference frame using Equation (5). Second then, the chosen interpolation function is applied to the affine adjusted key poses using the weights obtained from the cartoon capture process. Third and finally, the affine motions of the input cartoon are added to the resulting key-shapes to produce the final animation.

[0094] 3D Models

[0095] To retarget the input motion to 3D models, the animator uses a 3D modeling tool to make the key poses for the output animation. To retarget the affine motion of the input cartoon to a 3D model, the equivalent of affine motion in 3D is needed. For the in-plane motion (image plane), the affine parameters are mapped just as in the 2D case. The out-of-plane motion from the input cartoon is not explicitly recovered. This does not however imply that the models are flat. The 3D information is inferred when the key poses for the output 3D model are designed. For example, as shown in the top row of FIG. 10 it is difficult to measure which direction the character's right foot is pointing at from the input cartoon drawing. The animator, while doing the 3D modeling, interprets the right foot as pointing toward the viewer in the first key frame, as shown in the bottom row of FIG. 10. Since the solution to the equation is such that the weight has to be one for that key pose and zero for the other keys, the retargeted output character naturally points his right foot toward the viewer.

[0096] Applying the key shapes deformation to 3D models works the same way as the 2D examples, except now it is possible to use control vertices for the mesh or the nurb, depending on the modeling choice. Linear interpolation is used for all the 3D examples. However, a special case for retargeting to 3D articulated figures is made. Interpolation in the joint angle space is chosen since interpolating in the joint-angle space is analogous to the non-linear shape interpolation function described section 1.1. The 3D joint angles are first taken from the 3D model. The joint angles for the in-between frames are then interpolated using the weights from the capture process. Note that this is different from interpolating each joint angle independently. All the joint angles are interpolated with the same weights from the cartoon capture process and more than two key poses can be used for each output pose.

[0097] Additional Constraints and Post-processing

[0098] In many cases, the translation of the original cartoon needs to be modified to satisfy certain constraints in the output domain. This is due to the fact that the affine parameters of the output key poses are factored out and the affine parameters of the input cartoon are applied to the output sequence. Since the output character can have different proportions and dimensionality from the input character, using the same affine motion results in undesirable effects such as the output character's foot going through the ground. In most cases, simple ad-hoc global translations produced a reasonable result. These global translations include constraints that ensure that the foot is at a certain position at a specific time frame.

[0099] Examples

[0100] To demonstrate and test cartoon capture, several examples were created.

[0101] A first example is provided where the video capture technique described in section 1.3 is used to follow the motion of an animated hat that was then retargeted onto a simple two-dimensional drawing of a different hat. The new hat is refitted onto the original footage. FIG. 11 illustrates a few frames and the video of the entire capture and retargeting of this first example.

[0102] A second example is provided where the dance of Balou from The Jungle Book is captured and retargeted to a drawing of a flower. Again, the video capture technique is used to extract the motion parameters and apply them on the output drawing of the flower. FIG. 12 illustrates this example.

[0103] A third example is provided where the motion of the broom from the Sorcerer's Apprentice sequence of Fantasia is captured and retargeted onto a digitized photo of a broom. Contour capture is used with constraints and retargeting is performed with additional constraints as described in section 1.4, since the broom dimensions are changed. Then the composite of the broom sequence is placed onto a live-action video sequence. FIG. 13 illustrates several retargeted brooms.

[0104] A fourth example is provided of capturing only one contour, the line-of-action, as the source of the motion. The line-of-action is a very important principle in tradition animation. This motion captured from a cartoon character is retargeted onto a 2D character. Although there is not enough information in this contour to solve for more complex motion, such as how the legs move relative to each other, the essence of the motion is still present in the retargeted output as illustrated in FIG. 14.

[0105] A fifth example is provided where cartoon captured motion is retargeted onto 3D models. For this example a motion from a walking character in the first example is captured and retargeted to a 3D model of an otter. FIG. 11, illustrates some of the key poses of the walking character. FIG. 15 illustrates final rendered frames in the retargeted sequence of the otter.

[0106] A sixth example is provided where a cartoon character jumping in a way that is impossible for an average human is captured, and retargeted onto the same 3D model. Again, contour capture is used to estimate the motion parameters. FIG. 16 illustrates some frames from the retargeted sequence of this example.

[0107] As is seen in each of the figures the motion style from the captured cartoon is successfully translated to the new image. The timing is preserved and the key-shapes from the original animation are mapped onto the new animation. The animations with the cartoon capture process were expressive and compelling. The personalities of the original cartoon characters were transferred to the target images.

[0108] While the present invention has been described in detail and pictorially in the accompanying drawings it is not limited to such details since many changes and modifications recognizable to those of ordinary skill in the art may be made to the invention without departing from the spirit and the scope thereof. 

What is claimed is:
 1. A method of capturing motion of a first moving object in a cartoon and retargeting the motion of the first moving object to a second moving object, said method comprising the steps of: inputting a digitized video of a cartoon having the first moving object; permitting a user to select from the digitized video a plurality of key shapes of the first moving object as the first moving moves in the digitized video; capturing motion of the first moving object as motion parameter data by performing a transform of the motion of the first moving object according to each of the key shapes; and retargeting the motion of the first moving object to the second moving object by mapping the motion parameter data onto the second moving object, thereby imparting a characteristic of the motion of the first moving object to the motion of the second moving object.
 2. A method according to claim 1, wherein capturing step comprises the step of: generating the motion parameter data by performing an affine transform on the digitized video containing the first object.
 3. A method according to claim 2, wherein the affine transform is performed according to each of the key shapes.
 4. A method according to claim 1, wherein the motion parameter data includes timing parameter data representative of the timing of the movements of the first moving object.
 5. A method according to claim 2, wherein the motion parameter data includes timing parameter data representative of the timing of the movements of the first moving object.
 6. A method according to claim 3, wherein the motion parameter data includes timing parameter data representative of the timing of the movements of the first moving object.
 7. A method according to claim 1, wherein said retargeting step comprises the step of: permitting the user to define for each input key-shape a corresponding output key-shape of the second moving object.
 8. A method according to claim 7, wherein said retargeting step further comprises the step of: mapping the motion parameter data onto the output key-shapes of the second moving object.
 9. An information processing apparatus for capturing motion of a first moving object in a cartoon and retargeting the motion of the first moving object to a second moving object, said information processing apparatus comprising: a video input unit for inputting a digitized video of a cartoon having the first moving object; an input unit for permitting a user to select from the digitized video a plurality of key shapes of the first moving object as the first moving moves in the digitized video; and a processing unit for capturing motion of the first moving object as motion parameter data by performing a transform of the motion of the first moving object according to each of the key shapes and retargeting the motion of the first moving object to the second moving object by mapping the motion parameter data onto the second moving object, thereby imparting a characteristic of the motion of the first moving object to the motion of the second moving object.
 10. An information processing apparatus according to claim 9, wherein said processing unit generates the motion parameter data by performing an affine transform on the digitized video containing the first object.
 11. An information processing apparatus according to claim 10, wherein the affine transform is performed according to each of the key shapes.
 12. An information processing apparatus according to claim 9, wherein the motion parameter data includes timing parameter data representative of the timing of the movements of the first moving object.
 13. An information processing apparatus according to claim 10, wherein the motion parameter data includes timing parameter data representative of the timing of the movements of the first moving object.
 14. An information processing apparatus according to claim 11, wherein the motion parameter data includes timing parameter data representative of the timing of the movements of the first moving object.
 15. An information processing apparatus according to claim 9, wherein said processing unit permits the user to define for each input key-shape a corresponding output key-shape of the second moving object.
 16. An information processing apparatus according to claim 15, wherein said processing unit maps the motion parameter data onto the output key-shapes of the second moving object.
 17. A computer program capturing motion of a first moving object in a cartoon and retargeting the motion of the first moving object to a second moving object, said computer program when executed causes an information processing apparatus to perform the steps of: inputting a digitized video of a cartoon having the first moving object; permitting a user to select from the digitized video a plurality of key shapes of the first moving object as the first moving moves in the digitized video; capturing motion of the first moving object as motion parameter data by performing a transform of the motion of the first moving object according to each of the key shapes; and retargeting the motion of the first moving object to the second moving object by mapping the motion parameter data onto the second moving object, thereby imparting a characteristic of the motion of the first moving object to the motion of the second moving object.
 18. A computer program according to claim 17, wherein capturing step when executed by said information processing apparatus performs the step of: generating the motion parameter data by performing an affine transform on the digitized video containing the first object.
 19. A computer program according to claim 18, wherein the affine transform is performed according to each of the key shapes.
 20. A computer program according to claim 17, wherein the motion parameter data includes timing parameter data representative of the timing of the movements of the first moving object.
 21. A computer program according to claim 18, wherein the motion parameter data includes timing parameter data representative of the timing of the movements of the first moving object.
 22. A computer program according to claim 19, wherein the motion parameter data includes timing parameter data representative of the timing of the movements of the first moving object.
 23. A computer program according to claim 17, wherein said retargeting step when executed by said information processing apparatus performs the step of: permitting the user to define for each input key-shape a corresponding output key-shape of the second moving object.
 24. A computer program according to claim 23, wherein said retargeting step when executed by said information processing apparatus performs the step of: mapping the motion parameter data onto the output key-shapes of the second moving object. 